main(){
  //  空安全机制
  //  Dart如果声明变量没有赋值，初始值是nuLL
  //  1、变量类型后添加？表示该变量可以为空
  String? name; //  相当于鸿蒙  string|null
  //  2、访问变量时，需要添加？表示该变量可能为空
  // ignore: dead_code
  print(name?.length);
  //  3、调用方法时，需要添加？表示该方法可能为空
  // ignore: dead_code
  name?.toUpperCase();

  //  4、空合并运算符   ??
  //  如果变量为空，返回默认值  ,不支持使用||运算符设置默认值
  print(name??'默认值_biu');
  //  如果变量为空，则执行后面代码
  name??='默认值_mm';
  print(name);

  //  5、非空断言  !
  //  表示该变量一定不为空，否则会报错

  print(name!.length);
  //  调用方法时，不需要添加？
  name!.toUpperCase();



}